Filter-embedding Semiring Fusion for Programming with MapReduce